package main

import "fmt"

func main() {
	//for循环
	for i := 0; i < 10; i++ {
		fmt.Println(i)
	}
	//与上面一样，只不过i的作用域不同
	var i = 0
	for i < 10 {
		fmt.Println(i)
		i++
	}

	//模拟while循环
	var k = 1
	for {
		if k <= 10 {
			fmt.Println("k=", k)
		} else {
			break
		}
		k++
	}

	//在go里面用的最多的就是for range循环
	//字符串、数组、切片、map、channel
	var str = "你好golang"
	for _, val := range str {
		fmt.Println(val)
	}

	//switch case
	score := "B"
	switch score {
	case "A":
		fmt.Println("非常棒")
	case "B":
		fmt.Println("优秀")
	default:
		fmt.Println("不及格")
	}

	//continue<break<return
	//continue: 跳出当前这次循环
	//break：跳出整个forxunh
	//return：1 跳出整个代码快或函数，2 返回值

	//continue
	for i := 0; i < 10; i++ {
		if i%2 == 0 {
			continue
		}
		fmt.Println(i)
	}

	//break
	for i := 1; i < 10; i++ {
		if i%2 == 0 {
			break
		}
		fmt.Println(i)
	}
	fmt.Println("函数执行结束")

	//return
	for i := 1; i < 10; i++ {
		if i%2 == 0 {
			return
		}
		fmt.Println(i)
	}
	fmt.Println("函数执行结束")
}
